package org.jupiter.blog.api.dto;

import lombok.Data;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

@EqualsAndHashCode(callSuper = true)
@Data
public class JupiterUserDTO extends PageRequestDTO {

	private String uuid;
	@NotBlank(message = "用户名不能为空")
	private String username;

	@Email(message = "邮箱格式不正确")
	private String email;

	private String phone;

	@NotBlank(message = "密码不能为空")
	@Size(min = 6, message = "密码长度不能少于6位")
	private String password;

	private String nickname;

	private String avatarUrl;

	private String biography;

	private String website;

	private String gender;

	private LocalDate birthday;

	private String location;

	private String socialLinks; // JSON 字符串

	private String settings;    // JSON 字符串

	private Boolean isActive;

	private LocalDateTime createTime;

	private LocalDateTime updateTime;

	private LocalDateTime deleteTime;
}
